package com.bird.jdk.内部类;

import org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor;

/**
 * @author sijunqiang
 * @data 2021/4/2 23:04
 * @description: 接口内部类
 * 作用：可以提供通用的公共的能力 在这个工厂中 默认的的实现 打个比方就是 门岗守卫 统一的验收
 */
public interface ClassInInterface  {
    // 默认的方法
void  howdy();

//接口内部类 接口中的类都是 public 和static 所以非static 方法是无法调用的
class Test implements ClassInInterface{

    @Override
    public void howdy() {
        System.out.println("howdy");
    }
    public void innerInfaceClass(){
        System.out.println("这是接口中的内部类 用来创建功能的方法 不同实现 都可以访问这个方法");
    }

}}

class  TestUser implements ClassInInterface{
    @Override
    public void howdy() {

    }
    public static void main(String[] args) {
        invoke();
    }

    // 因为 接口中的类都是public 和static的 所以调用的是static 方法。
    public static  void invoke(){
        Test test = new Test();
        test.innerInfaceClass();
        test.howdy();
    }
}
